a82860e745ba163152a7622e7d60d8c83fe58676,enterprise/core-edge/src/test/java/org/neo4j/coreedge/scenarios/CoreServerReplicationIT.java,CoreServerReplicationIT,shouldReplicateTransactionToCoreServersAddedAfterInitialStartUp,#,129

Before Change



        cluster.addCoreServerWithServerId( 4, 5 );

        coreDB = cluster.awaitLeader( 5000 );

        try ( Transaction tx = coreDB.beginTx() )
        {
            Node node = coreDB.createNode();
            node.setProperty( "foobar", "baz_bat" );
            tx.success();
        }

        // then
        for ( final CoreGraphDatabase db : cluster.coreServers() )
        {
            try ( Transaction tx = db.beginTx() )
            {
                ThrowingSupplier<Long, Exception> nodeCount = () -> count( db.getAllNodes() );

                Config config = db.getDependencyResolver().resolveDependency( Config.class );

                assertEventually( "node to appear on core server " + config.get( HaSettings.ha_server ), nodeCount,
                        equalTo( 2L ), 3, SECONDS );

                for ( Node node : db.getAllNodes() )
                {
                    assertEquals( "baz_bat", node.getProperty( "foobar" ) );
                }

                tx.success();
            }
        }
    }

After Change


    {
        // given
        File dbDir = dir.directory();
        cluster = Cluster.start( dbDir, 3, 0 );

        cluster.addCoreServerWithServerId( 3, 4 );

        cluster.coreTx( ( db, tx ) -> {
            Node node = db.createNode();
            node.setProperty( "foobar", "baz_bat" );
            tx.success();
        } );

        // when
        cluster.addCoreServerWithServerId( 4, 5 );
        CoreGraphDatabase last = cluster.coreTx( ( db, tx ) -> {
            Node node = db.createNode();
            node.setProperty( "foobar", "baz_bat" );
            tx.success();
        } );

        // then
        assertEquals( 2, countNodes( last ) );
        dataMatchesEventually( last, cluster.coreServers() );
    }

    @Test